home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 2 / Macwelt DVD 2.cdr / Audio-Video-Multimedia / macos9 / Athena CL 1.0.13 / libATH / TMrthm.py < prev    next >
MacBinary  |  2002-03-15  |  8.6 KB  |  [TEXT/Pyth]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Fri Mar 15 11:28:02 2002, modified Fri Mar 15 11:28:02 2002, creator 'Pyth', type ASCII, 8317 bytes "TMrthm.py" , at 0x20fd 286 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% dearkID deark: macbinary default
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default
100% librempegprobeID NGC (Nintendo DSP Standard) (ngcdspstd) default (weak)


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[Pyth]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 09 54 4d 72 74 68 6d | 2e 70 79 00 00 00 00 00 |..TMrthm|.py.....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 50 79 74 | 68 00 00 00 00 00 00 00 |.TEXTPyt|h.......|
|00000050| 00 00 00 00 00 20 7d 00 | 00 01 1e b8 b7 d1 92 b8 |..... }.|........|
|00000060| b7 d1 92 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 9f 70 00 00 |........|.....p..|
|00000080| 23 20 54 4d 72 74 68 6d | 2e 70 79 0d 23 2d 2d 2d |# TMrthm|.py.#---|
|00000090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 7c 7c |--------|------|||
|000000d0| 7c 7c 7c 7c 7c 7c 7c 7c | 7c 7c 2d 2d 0d 23 20 43 ||||||||||||--.# C|
|000000e0| 6f 70 79 72 69 67 68 74 | 20 28 63 29 20 32 30 30 |opyright| (c) 200|
|000000f0| 31 20 43 68 72 69 73 74 | 6f 70 68 65 72 20 41 72 |1 Christ|opher Ar|
|00000100| 69 7a 61 2e 0d 23 20 0d | 23 20 61 74 68 65 6e 61 |iza..# .|# athena|
|00000110| 43 4c 20 63 6f 6d 65 73 | 20 77 69 74 68 20 41 42 |CL comes| with AB|
|00000120| 53 4f 4c 55 54 45 4c 59 | 20 4e 4f 20 57 41 52 52 |SOLUTELY| NO WARR|
|00000130| 41 4e 54 59 3b 0d 23 20 | 66 6f 72 20 64 65 74 61 |ANTY;.# |for deta|
|00000140| 69 6c 73 20 73 65 65 20 | 77 61 72 61 6e 74 79 20 |ils see |waranty |
|00000150| 69 6e 66 6f 72 6d 61 74 | 69 6f 6e 20 77 69 74 68 |informat|ion with|
|00000160| 69 6e 20 61 74 68 65 6e | 61 4f 62 6a 2e 70 79 2e |in athen|aObj.py.|
|00000170| 0d 23 20 54 68 69 73 20 | 69 73 20 66 72 65 65 20 |.# This |is free |
|00000180| 73 6f 66 74 77 61 72 65 | 2c 20 61 6e 64 20 79 6f |software|, and yo|
|00000190| 75 20 61 72 65 20 77 65 | 6c 63 6f 6d 65 20 74 6f |u are we|lcome to|
|000001a0| 20 72 65 64 69 73 74 72 | 69 62 75 74 65 20 69 74 | redistr|ibute it|
|000001b0| 20 75 6e 64 65 72 20 63 | 65 72 74 61 69 6e 20 20 | under c|ertain |
|000001c0| 0d 23 20 63 6f 6e 64 69 | 74 69 6f 6e 73 3b 20 66 |.# condi|tions; f|
|000001d0| 6f 72 20 64 65 74 61 69 | 6c 73 20 73 65 65 20 63 |or detai|ls see c|
|000001e0| 6f 70 79 72 69 67 68 74 | 20 69 6e 66 6f 72 6d 61 |opyright| informa|
|000001f0| 74 69 6f 6e 20 77 69 74 | 68 69 6e 20 61 74 68 65 |tion wit|hin athe|
|00000200| 6e 61 4f 62 6a 2e 70 79 | 2e 0d 23 2d 2d 2d 2d 2d |naObj.py|..#-----|
|00000210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 7c 7c 7c 7c |--------|----|||||
|00000250| 7c 7c 7c 7c 7c 7c 7c 7c | 2d 2d 0d 0d 69 6d 70 6f ||||||||||--..impo|
|00000260| 72 74 20 63 6f 70 79 2c | 20 74 79 70 65 73 2c 20 |rt copy,| types, |
|00000270| 77 68 72 61 6e 64 6f 6d | 0d 69 6d 70 6f 72 74 20 |whrandom|.import |
|00000280| 47 41 72 74 68 6d 0d 0d | 0d 23 2d 2d 2d 2d 2d 2d |GArthm..|.#------|
|00000290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 7c 7c 7c 7c 7c |--------|---||||||
|000002d0| 7c 7c 7c 7c 7c 7c 7c 2d | 2d 0d 0d 64 65 66 20 70 ||||||||-|-..def p|
|000002e0| 6d 74 72 54 79 70 65 50 | 61 72 73 65 72 28 70 6d |mtrTypeP|arser(pm|
|000002f0| 74 72 54 79 70 65 29 3a | 0d 20 20 20 74 79 70 65 |trType):|. type|
|00000300| 53 74 72 69 6e 67 20 3d | 20 70 6d 74 72 54 79 70 |String =| pmtrTyp|
|00000310| 65 2e 6c 6f 77 65 72 28 | 29 0d 20 20 20 74 79 70 |e.lower(|). typ|
|00000320| 65 53 74 72 69 6e 67 20 | 3d 20 74 79 70 65 53 74 |eString |= typeSt|
|00000330| 72 69 6e 67 2e 73 74 72 | 69 70 28 29 0d 20 20 20 |ring.str|ip(). |
|00000340| 69 66 20 74 79 70 65 53 | 74 72 69 6e 67 20 3d 3d |if typeS|tring ==|
|00000350| 20 27 62 69 6e 61 72 79 | 61 63 63 65 6e 74 27 20 | 'binary|accent' |
|00000360| 6f 72 20 74 79 70 65 53 | 74 72 69 6e 67 20 3d 3d |or typeS|tring ==|
|00000370| 20 27 62 61 27 3a 0d 20 | 20 20 20 20 20 72 65 74 | 'ba':. | ret|
|00000380| 75 72 6e 20 27 62 69 6e | 61 72 79 41 63 63 65 6e |urn 'bin|aryAccen|
|00000390| 74 27 0d 20 20 20 65 6c | 69 66 20 74 79 70 65 53 |t'. el|if typeS|
|000003a0| 74 72 69 6e 67 20 3d 3d | 20 27 67 61 72 68 79 74 |tring ==| 'garhyt|
|000003b0| 68 6d 27 20 6f 72 20 74 | 79 70 65 53 74 72 69 6e |hm' or t|ypeStrin|
|000003c0| 67 20 3d 3d 20 27 67 72 | 27 20 6f 72 20 74 79 70 |g == 'gr|' or typ|
|000003d0| 65 53 74 72 69 6e 67 20 | 3d 3d 20 27 67 61 72 27 |eString |== 'gar'|
|000003e0| 3a 0d 20 20 20 20 20 20 | 72 65 74 75 72 6e 20 27 |:. |return '|
|000003f0| 67 61 52 68 79 74 68 6d | 27 0d 20 20 20 65 6c 69 |gaRhythm|'. eli|
|00000400| 66 20 74 79 70 65 53 74 | 72 69 6e 67 20 3d 3d 20 |f typeSt|ring == |
|00000410| 27 6c 6f 6f 70 27 20 6f | 72 20 74 79 70 65 53 74 |'loop' o|r typeSt|
|00000420| 72 69 6e 67 20 3d 3d 20 | 27 6c 27 3a 0d 20 20 20 |ring == |'l':. |
|00000430| 20 20 20 72 65 74 75 72 | 6e 20 27 6c 6f 6f 70 27 | retur|n 'loop'|
|00000440| 0d 20 20 20 65 6c 73 65 | 3a 0d 20 20 20 20 20 20 |. else|:. |
|00000450| 72 65 74 75 72 6e 20 70 | 6d 74 72 54 79 70 65 20 |return p|mtrType |
|00000460| 23 20 6e 6f 20 63 68 61 | 6e 67 65 20 69 66 20 6e |# no cha|nge if n|
|00000470| 6f 74 20 66 6f 75 6e 64 | 0d 0d 0d 63 6c 61 73 73 |ot found|...class|
|00000480| 20 72 68 79 74 68 6d 4f | 62 6a 3a 0d 20 20 20 27 | rhythmO|bj:. '|
|00000490| 27 27 5c 0d 3a 3a 20 27 | 62 69 6e 61 72 79 41 63 |''\.:: '|binaryAc|
|000004a0| 63 65 6e 74 27 2c 20 28 | 72 68 79 74 68 6d 41 2c |cent', (|rhythmA,|
|000004b0| 20 72 68 79 74 68 6d 42 | 29 0d 64 65 73 63 72 69 | rhythmB|).descri|
|000004c0| 70 74 69 6f 6e 3a 20 75 | 73 65 73 20 72 68 79 74 |ption: u|ses rhyt|
|000004d0| 68 6d 42 20 66 6f 72 20 | 66 69 72 73 74 20 70 69 |hmB for |first pi|
|000004e0| 74 63 68 20 69 6e 20 73 | 65 74 3b 20 61 6c 6c 20 |tch in s|et; all |
|000004f0| 6f 74 68 65 72 20 70 69 | 74 63 68 65 73 20 75 73 |other pi|tches us|
|00000500| 65 20 72 68 79 74 68 6d | 41 2e 0d 61 72 67 75 6d |e rhythm|A..argum|
|00000510| 65 6e 74 73 3a 20 28 31 | 29 20 6e 61 6d 65 2c 20 |ents: (1|) name, |
|00000520| 28 32 29 20 61 20 6c 69 | 73 74 20 6f 66 20 74 77 |(2) a li|st of tw|
|00000530| 6f 20 72 68 79 74 68 6d | 20 74 75 70 6c 65 73 2e |o rhythm| tuples.|
|00000540| 0d 0d 3a 3a 20 27 67 61 | 52 68 79 74 68 6d 27 2c |..:: 'ga|Rhythm',|
|00000550| 20 28 72 68 79 74 68 6d | 41 2c 20 72 68 79 74 68 | (rhythm|A, rhyth|
|00000560| 6d 42 2c 20 72 68 79 74 | 68 6d 43 2e 2e 2e 29 2c |mB, rhyt|hmC...),|
|00000570| 20 63 72 6f 73 73 6f 76 | 65 72 2c 20 6d 75 74 61 | crossov|er, muta|
|00000580| 74 69 6f 6e 2c 20 65 6c | 69 74 69 73 6d 0d 64 65 |tion, el|itism.de|
|00000590| 73 63 72 69 70 74 69 6f | 6e 3a 20 75 73 65 73 20 |scriptio|n: uses |
|000005a0| 61 20 67 65 6e 65 74 69 | 63 20 61 6c 67 6f 72 69 |a geneti|c algori|
|000005b0| 74 68 6d 20 74 6f 20 63 | 72 65 61 74 65 20 72 68 |thm to c|reate rh|
|000005c0| 79 74 68 6d 69 63 20 76 | 61 72 69 65 6e 74 73 20 |ythmic v|arients |
|000005d0| 6f 66 20 73 6f 75 72 63 | 65 20 72 68 79 74 68 6d |of sourc|e rhythm|
|000005e0| 2e 0d 61 72 67 75 6d 65 | 6e 74 73 3a 20 28 31 29 |..argume|nts: (1)|
|000005f0| 20 6e 61 6d 65 2c 20 28 | 32 29 20 6c 69 73 74 20 | name, (|2) list |
|00000600| 6f 66 20 72 68 79 74 68 | 6d 20 74 75 70 6c 65 73 |of rhyth|m tuples|
|00000610| 2c 20 28 33 29 20 63 72 | 6f 73 73 6f 76 65 72 20 |, (3) cr|ossover |
|00000620| 72 61 74 65 20 62 65 74 | 77 65 65 6e 20 30 20 61 |rate bet|ween 0 a|
|00000630| 6e 64 20 31 2c 20 28 34 | 29 20 6d 75 74 61 74 69 |nd 1, (4|) mutati|
|00000640| 6f 6e 20 72 61 74 65 20 | 62 65 74 77 65 65 6e 20 |on rate |between |
|00000650| 30 20 61 6e 64 20 31 20 | 28 35 29 20 65 6c 69 74 |0 and 1 |(5) elit|
|00000660| 69 73 6d 20 72 61 74 65 | 20 62 65 74 77 65 65 6e |ism rate| between|
|00000670| 20 30 20 61 6e 64 20 31 | 2e 0d 0d 3a 3a 20 27 6c | 0 and 1|...:: 'l|
|00000680| 6f 6f 70 27 2c 20 28 72 | 68 79 74 68 6d 41 2c 20 |oop', (r|hythmA, |
|00000690| 72 68 79 74 68 6d 42 2c | 20 72 68 79 74 68 6d 43 |rhythmB,| rhythmC|
|000006a0| 2e 2e 2e 29 0d 64 65 73 | 63 72 69 70 74 69 6f 6e |...).des|cription|
|000006b0| 3a 20 63 79 63 6c 65 73 | 20 74 68 72 6f 75 67 68 |: cycles| through|
|000006c0| 20 61 20 66 69 78 65 64 | 20 6c 69 73 74 20 6f 66 | a fixed| list of|
|000006d0| 20 72 68 79 74 68 6d 73 | 2e 0d 61 72 67 75 6d 65 | rhythms|..argume|
|000006e0| 6e 74 73 3a 20 28 31 29 | 20 6e 61 6d 65 2c 20 28 |nts: (1)| name, (|
|000006f0| 32 29 20 6c 69 73 74 20 | 72 68 79 74 68 6d 20 74 |2) list |rhythm t|
|00000700| 75 70 6c 65 73 2e 0d 27 | 27 27 0d 20 20 20 64 65 |uples..'|''. de|
|00000710| 66 20 5f 5f 69 6e 69 74 | 5f 5f 28 73 65 6c 66 2c |f __init|__(self,|
|00000720| 20 62 65 61 74 54 2c 20 | 74 79 70 65 5f 61 72 67 | beatT, |type_arg|
|00000730| 73 29 3a 0d 20 20 20 20 | 20 20 73 65 6c 66 2e 62 |s):. | self.b|
|00000740| 65 61 74 54 20 3d 20 62 | 65 61 74 54 0d 0d 20 20 |eatT = b|eatT.. |
|00000750| 20 20 20 20 69 66 20 69 | 73 69 6e 73 74 61 6e 63 | if i|sinstanc|
|00000760| 65 28 74 79 70 65 5f 61 | 72 67 73 5b 30 5d 2c 20 |e(type_a|rgs[0], |
|00000770| 74 79 70 65 73 2e 53 74 | 72 69 6e 67 54 79 70 65 |types.St|ringType|
|00000780| 29 3a 0d 20 20 20 20 20 | 20 20 20 20 73 65 6c 66 |):. | self|
|00000790| 2e 74 79 70 65 20 3d 20 | 74 79 70 65 5f 61 72 67 |.type = |type_arg|
|000007a0| 73 5b 30 5d 0d 20 20 20 | 20 20 20 20 20 20 73 65 |s[0]. | se|
|000007b0| 6c 66 2e 61 72 67 73 20 | 3d 20 74 79 70 65 5f 61 |lf.args |= type_a|
|000007c0| 72 67 73 5b 31 3a 5d 0d | 20 20 20 20 20 20 65 6c |rgs[1:].| el|
|000007d0| 73 65 3a 20 20 23 20 62 | 61 63 6b 77 61 72 64 73 |se: # b|ackwards|
|000007e0| 20 63 6f 6d 70 61 74 20 | 66 6f 72 20 70 72 69 6d | compat |for prim|
|000007f0| 69 74 69 76 65 20 74 79 | 70 65 0d 20 20 20 20 20 |itive ty|pe. |
|00000800| 20 20 20 20 73 65 6c 66 | 2e 74 79 70 65 20 3d 20 | self|.type = |
|00000810| 27 62 69 6e 61 72 79 41 | 63 63 65 6e 74 27 0d 20 |'binaryA|ccent'. |
|00000820| 20 20 20 20 20 20 20 20 | 73 65 6c 66 2e 61 72 67 | |self.arg|
|00000830| 73 20 3d 20 28 74 79 70 | 65 5f 61 72 67 73 2c 29 |s = (typ|e_args,)|
|00000840| 0d 20 20 20 20 20 20 73 | 65 6c 66 2e 74 79 70 65 |. s|elf.type|
|00000850| 20 3d 20 70 6d 74 72 54 | 79 70 65 50 61 72 73 65 | = pmtrT|ypeParse|
|00000860| 72 28 73 65 6c 66 2e 74 | 79 70 65 29 20 23 63 68 |r(self.t|ype) #ch|
|00000870| 65 63 6b 20 74 79 70 65 | 20 73 74 72 69 6e 67 0d |eck type| string.|
|00000880| 0d 20 20 20 20 20 20 23 | 20 69 6e 69 74 20 70 72 |. #| init pr|
|00000890| 6f 63 65 64 75 72 65 73 | 0d 20 20 20 20 20 20 69 |ocedures|. i|
|000008a0| 66 20 73 65 6c 66 2e 74 | 79 70 65 20 3d 3d 20 27 |f self.t|ype == '|
|000008b0| 62 69 6e 61 72 79 41 63 | 63 65 6e 74 27 3a 0d 20 |binaryAc|cent':. |
|000008c0| 20 20 20 20 20 20 20 20 | 72 68 79 74 68 6d 4c 69 | |rhythmLi|
|000008d0| 73 74 20 3d 20 73 65 6c | 66 2e 61 72 67 73 5b 30 |st = sel|f.args[0|
|000008e0| 5d 20 20 23 20 66 69 72 | 73 74 20 74 68 69 6e 67 |] # fir|st thing|
|000008f0| 20 69 6e 20 61 72 67 20 | 6c 69 73 74 20 69 73 20 | in arg |list is |
|00000900| 61 20 6c 69 73 74 20 6f | 66 20 72 68 74 79 68 6d |a list o|f rhtyhm|
|00000910| 73 0d 20 20 20 20 20 20 | 20 20 20 73 65 6c 66 2e |s. | self.|
|00000920| 72 68 79 74 68 6d 5f 61 | 20 20 20 20 3d 20 28 73 |rhythm_a| = (s|
|00000930| 65 6c 66 2e 62 65 61 74 | 54 20 2f 20 28 72 68 79 |elf.beat|T / (rhy|
|00000940| 74 68 6d 4c 69 73 74 5b | 30 5d 5b 30 5d 2b 30 2e |thmList[|0][0]+0.|
|00000950| 30 29 29 20 2a 20 72 68 | 79 74 68 6d 4c 69 73 74 |0)) * rh|ythmList|
|00000960| 5b 30 5d 5b 31 5d 0d 20 | 20 20 20 20 20 20 20 20 |[0][1]. | |
|00000970| 73 65 6c 66 2e 64 75 72 | 61 74 69 6f 6e 5f 61 20 |self.dur|ation_a |
|00000980| 20 3d 20 73 65 6c 66 2e | 72 68 79 74 68 6d 5f 61 | = self.|rhythm_a|
|00000990| 20 2b 20 28 73 65 6c 66 | 2e 72 68 79 74 68 6d 5f | + (self|.rhythm_|
|000009a0| 61 20 2a 20 2e 34 30 29 | 0d 20 20 20 20 20 20 20 |a * .40)|. |
|000009b0| 20 20 73 65 6c 66 2e 72 | 68 79 74 68 6d 5f 62 20 | self.r|hythm_b |
|000009c0| 20 20 20 3d 20 28 73 65 | 6c 66 2e 62 65 61 74 54 | = (se|lf.beatT|
|000009d0| 20 2f 20 28 72 68 79 74 | 68 6d 4c 69 73 74 5b 31 | / (rhyt|hmList[1|
|000009e0| 5d 5b 30 5d 2b 30 2e 30 | 29 29 20 2a 20 72 68 79 |][0]+0.0|)) * rhy|
|000009f0| 74 68 6d 4c 69 73 74 5b | 31 5d 5b 31 5d 20 20 20 |thmList[|1][1] |
|00000a00| 20 20 20 20 20 20 20 20 | 20 0d 20 20 20 20 20 20 | | . |
|00000a10| 20 20 20 73 65 6c 66 2e | 64 75 72 61 74 69 6f 6e | self.|duration|
|00000a20| 5f 62 20 20 3d 20 73 65 | 6c 66 2e 72 68 79 74 68 |_b = se|lf.rhyth|
|00000a30| 6d 5f 62 20 2b 20 28 73 | 65 6c 66 2e 72 68 79 74 |m_b + (s|elf.rhyt|
|00000a40| 68 6d 5f 62 20 2a 20 2e | 36 30 29 0d 0d 20 20 20 |hm_b * .|60).. |
|00000a50| 20 20 20 65 6c 69 66 20 | 73 65 6c 66 2e 74 79 70 | elif |self.typ|
|00000a60| 65 20 3d 3d 20 27 67 61 | 52 68 79 74 68 6d 27 3a |e == 'ga|Rhythm':|
|00000a70| 0d 20 20 20 20 20 20 20 | 20 20 23 20 61 72 67 73 |. | # args|
|00000a80| 20 3d 20 5b 72 68 79 74 | 68 6d 54 6f 4d 61 74 63 | = [rhyt|hmToMatc|
|00000a90| 68 2c 20 63 72 6f 73 73 | 6f 76 65 72 52 61 74 65 |h, cross|overRate|
|00000aa0| 2c 20 6d 75 74 61 74 69 | 6f 6e 52 61 74 65 2c 20 |, mutati|onRate, |
|00000ab0| 70 65 72 63 65 6e 74 45 | 6c 69 74 65 5d 0d 20 20 |percentE|lite]. |
|00000ac0| 20 20 20 20 20 20 20 70 | 6f 70 6f 75 6c 61 74 69 | p|opoulati|
|00000ad0| 6f 6e 53 69 7a 65 20 3d | 20 32 30 0d 20 20 20 20 |onSize =| 20. |
|00000ae0| 20 20 20 20 20 73 65 6c | 66 2e 72 68 79 74 68 6d | sel|f.rhythm|
|00000af0| 54 6f 4d 61 74 63 68 20 | 3d 20 73 65 6c 66 2e 61 |ToMatch |= self.a|
|00000b00| 72 67 73 5b 30 5d 20 23 | 20 74 68 69 73 20 70 6f |rgs[0] #| this po|
|00000b10| 73 69 74 69 6f 6e 20 68 | 6f 6c 64 73 20 61 20 6c |sition h|olds a l|
|00000b20| 69 73 74 20 6f 66 20 72 | 68 79 74 68 6d 73 2c 20 |ist of r|hythms, |
|00000b30| 74 68 65 72 65 20 6d 61 | 79 20 62 65 20 6d 6f 72 |there ma|y be mor|
|00000b40| 65 20 65 6c 65 6d 65 6e | 74 73 20 6f 6e 20 74 68 |e elemen|ts on th|
|00000b50| 69 73 20 6c 69 73 74 0d | 0d 20 20 20 20 20 20 20 |is list.|. |
|00000b60| 20 20 69 66 20 6c 65 6e | 28 73 65 6c 66 2e 61 72 | if len|(self.ar|
|00000b70| 67 73 29 20 3d 3d 20 34 | 3a 0d 20 20 20 20 20 20 |gs) == 4|:. |
|00000b80| 20 20 20 20 20 20 73 65 | 6c 66 2e 63 72 6f 73 73 | se|lf.cross|
|00000b90| 6f 76 65 72 52 61 74 65 | 20 3d 20 73 65 6c 66 2e |overRate| = self.|
|00000ba0| 61 72 67 73 5b 31 5d 0d | 20 20 20 20 20 20 20 20 |args[1].| |
|00000bb0| 20 20 20 20 73 65 6c 66 | 2e 6d 75 74 61 74 69 6f | self|.mutatio|
|00000bc0| 6e 52 61 74 65 20 20 3d | 20 73 65 6c 66 2e 61 72 |nRate =| self.ar|
|00000bd0| 67 73 5b 32 5d 0d 20 20 | 20 20 20 20 20 20 20 20 |gs[2]. | |
|00000be0| 20 20 73 65 6c 66 2e 70 | 65 72 63 65 6e 74 45 6c | self.p|ercentEl|
|00000bf0| 69 74 65 20 20 3d 20 73 | 65 6c 66 2e 61 72 67 73 |ite = s|elf.args|
|00000c00| 5b 33 5d 0d 20 20 20 20 | 20 20 20 20 20 65 6c 73 |[3]. | els|
|00000c10| 65 3a 20 23 20 6c 6f 61 | 64 20 64 65 66 61 75 6c |e: # loa|d defaul|
|00000c20| 74 73 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 73 |ts. | s|
|00000c30| 65 6c 66 2e 73 65 74 44 | 65 66 61 75 6c 74 73 28 |elf.setD|efaults(|
|00000c40| 29 0d 20 20 20 20 20 20 | 20 20 20 74 72 79 3a 0d |). | try:.|
|00000c50| 20 20 20 20 20 20 20 20 | 20 20 20 20 73 65 6c 66 | | self|
|00000c60| 2e 67 65 6e 6f 6d 65 20 | 3d 20 47 41 72 74 68 6d |.genome |= GArthm|
|00000c70| 2e 67 65 6e 6f 6d 65 28 | 70 6f 70 6f 75 6c 61 74 |.genome(|popoulat|
|00000c80| 69 6f 6e 53 69 7a 65 2c | 20 73 65 6c 66 2e 72 68 |ionSize,| self.rh|
|00000c90| 79 74 68 6d 54 6f 4d 61 | 74 63 68 2c 20 73 65 6c |ythmToMa|tch, sel|
|00000ca0| 66 2e 62 65 61 74 54 2c | 20 73 65 6c 66 2e 63 72 |f.beatT,| self.cr|
|00000cb0| 6f 73 73 6f 76 65 72 52 | 61 74 65 2c 20 73 65 6c |ossoverR|ate, sel|
|00000cc0| 66 2e 6d 75 74 61 74 69 | 6f 6e 52 61 74 65 2c 20 |f.mutati|onRate, |
|00000cd0| 73 65 6c 66 2e 70 65 72 | 63 65 6e 74 45 6c 69 74 |self.per|centElit|
|00000ce0| 65 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 73 |e). | s|
|00000cf0| 65 6c 66 2e 72 68 79 74 | 68 6d 43 79 63 4c 69 73 |elf.rhyt|hmCycLis|
|00000d00| 74 41 20 3d 20 73 65 6c | 66 2e 67 65 6e 6f 6d 65 |tA = sel|f.genome|
|00000d10| 2e 67 65 6e 28 34 30 2c | 32 29 20 23 20 32 20 73 |.gen(40,|2) # 2 s|
|00000d20| 75 70 70 72 65 73 73 65 | 73 20 61 6c 6c 20 64 69 |uppresse|s all di|
|00000d30| 73 70 6c 61 79 73 0d 20 | 20 20 20 20 20 20 20 20 |splays. | |
|00000d40| 65 78 63 65 70 74 20 56 | 61 6c 75 65 45 72 72 6f |except V|alueErro|
|00000d50| 72 3a 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 73 |r:. | s|
|00000d60| 65 6c 66 2e 67 65 6e 6f | 6d 65 20 3d 20 2d 31 20 |elf.geno|me = -1 |
|00000d70| 23 20 74 68 69 73 20 77 | 69 6c 6c 20 72 65 74 75 |# this w|ill retu|
|00000d80| 72 6e 20 65 72 72 6f 72 | 20 77 68 65 6e 20 61 72 |rn error| when ar|
|00000d90| 67 73 20 63 68 65 63 6b | 65 64 0d 20 20 20 20 20 |gs check|ed. |
|00000da0| 20 20 20 20 20 20 20 73 | 65 6c 66 2e 72 68 79 74 | s|elf.rhyt|
|00000db0| 68 6d 43 79 63 4c 69 73 | 74 41 20 3d 20 2d 31 0d |hmCycLis|tA = -1.|
|00000dc0| 20 20 20 20 20 20 20 23 | 20 20 73 65 6c 66 2e 67 | #| self.g|
|00000dd0| 72 6f 75 70 49 6e 64 65 | 78 20 3d 20 30 0d 20 20 |roupInde|x = 0. |
|00000de0| 20 20 20 20 20 20 20 73 | 65 6c 66 2e 63 79 63 49 | s|elf.cycI|
|00000df0| 6e 64 65 78 20 20 20 3d | 20 30 0d 20 20 20 20 20 |ndex =| 0. |
|00000e00| 20 20 20 20 73 65 6c 66 | 2e 67 65 6e 65 49 6e 64 | self|.geneInd|
|00000e10| 65 78 20 20 3d 20 30 0d | 0d 20 20 20 20 20 20 65 |ex = 0.|. e|
|00000e20| 6c 69 66 20 73 65 6c 66 | 2e 74 79 70 65 20 3d 3d |lif self|.type ==|
|00000e30| 20 27 6c 6f 6f 70 27 3a | 0d 20 20 20 20 20 20 20 | 'loop':|. |
|00000e40| 20 20 73 65 6c 66 2e 70 | 6f 73 69 74 69 6f 6e 20 | self.p|osition |
|00000e50| 3d 20 30 0d 20 20 20 20 | 20 20 20 20 20 73 65 6c |= 0. | sel|
|00000e60| 66 2e 72 68 79 74 68 6d | 4c 69 73 74 20 3d 20 73 |f.rhythm|List = s|
|00000e70| 65 6c 66 2e 61 72 67 73 | 5b 30 5d 0d 20 20 20 20 |elf.args|[0]. |
|00000e80| 20 20 20 20 20 73 65 6c | 66 2e 6c 65 6e 67 74 68 | sel|f.length|
|00000e90| 20 3d 20 6c 65 6e 28 73 | 65 6c 66 2e 72 68 79 74 | = len(s|elf.rhyt|
|00000ea0| 68 6d 4c 69 73 74 29 0d | 0d 20 20 20 64 65 66 20 |hmList).|. def |
|00000eb0| 63 68 65 63 6b 41 72 67 | 73 28 73 65 6c 66 29 3a |checkArg|s(self):|
|00000ec0| 0d 20 20 20 20 20 20 69 | 66 20 73 65 6c 66 2e 74 |. i|f self.t|
|00000ed0| 79 70 65 20 3d 3d 20 27 | 62 69 6e 61 72 79 41 63 |ype == '|binaryAc|
|00000ee0| 63 65 6e 74 27 3a 0d 20 | 20 20 20 20 20 20 20 20 |cent':. | |
|00000ef0| 23 20 63 68 65 63 6b 20 | 73 65 6c 66 2e 72 68 79 |# check |self.rhy|
|00000f00| 74 68 6d 5f 61 2c 20 73 | 65 6c 66 2e 64 75 72 61 |thm_a, s|elf.dura|
|00000f10| 74 69 6f 6e 5f 61 2c 20 | 65 74 63 0d 20 20 20 20 |tion_a, |etc. |
|00000f20| 20 20 20 20 20 72 65 74 | 75 72 6e 20 31 2c 20 27 | ret|urn 1, '|
|00000f30| 27 0d 20 20 20 20 20 20 | 65 6c 69 66 20 73 65 6c |'. |elif sel|
|00000f40| 66 2e 74 79 70 65 20 3d | 3d 20 27 67 61 52 68 79 |f.type =|= 'gaRhy|
|00000f50| 74 68 6d 27 3a 0d 20 20 | 20 20 20 20 20 20 20 69 |thm':. | i|
|00000f60| 66 20 73 65 6c 66 2e 63 | 72 6f 73 73 6f 76 65 72 |f self.c|rossover|
|00000f70| 52 61 74 65 20 3c 20 30 | 20 6f 72 20 73 65 6c 66 |Rate < 0| or self|
|00000f80| 2e 63 72 6f 73 73 6f 76 | 65 72 52 61 74 65 20 3e |.crossov|erRate >|
|00000f90| 20 31 3a 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 | 1:. | |
|00000fa0| 72 65 74 75 72 6e 20 30 | 2c 20 27 72 61 6e 67 65 |return 0|, 'range|
|00000fb0| 20 65 72 72 6f 72 3a 20 | 63 72 6f 73 73 6f 76 65 | error: |crossove|
|00000fc0| 72 20 72 61 74 65 20 6d | 75 73 74 20 62 65 20 62 |r rate m|ust be b|
|00000fd0| 65 74 77 65 65 6e 20 30 | 20 61 6e 64 20 31 2e 27 |etween 0| and 1.'|
|00000fe0| 0d 20 20 20 20 20 20 20 | 20 20 69 66 20 73 65 6c |. | if sel|
|00000ff0| 66 2e 6d 75 74 61 74 69 | 6f 6e 52 61 74 65 20 3c |f.mutati|onRate <|
|00001000| 20 30 20 6f 72 20 73 65 | 6c 66 2e 6d 75 74 61 74 | 0 or se|lf.mutat|
|00001010| 69 6f 6e 52 61 74 65 20 | 3e 20 31 3a 0d 20 20 20 |ionRate |> 1:. |
|00001020| 20 20 20 20 20 20 20 20 | 20 72 65 74 75 72 6e 20 | | return |
|00001030| 30 2c 20 27 72 61 6e 67 | 65 20 65 72 72 6f 72 3a |0, 'rang|e error:|
|00001040| 20 6d 75 74 61 74 69 6f | 6e 20 72 61 74 65 20 6d | mutatio|n rate m|
|00001050| 75 73 74 20 62 65 20 62 | 65 74 77 65 65 6e 20 30 |ust be b|etween 0|
|00001060| 20 61 6e 64 20 31 2e 27 | 0d 20 20 20 20 20 20 20 | and 1.'|. |
|00001070| 20 20 69 66 20 73 65 6c | 66 2e 70 65 72 63 65 6e | if sel|f.percen|
|00001080| 74 45 6c 69 74 65 20 3c | 20 30 20 6f 72 20 73 65 |tElite <| 0 or se|
|00001090| 6c 66 2e 70 65 72 63 65 | 6e 74 45 6c 69 74 65 20 |lf.perce|ntElite |
|000010a0| 3e 20 31 3a 0d 20 20 20 | 20 20 20 20 20 20 20 20 |> 1:. | |
|000010b0| 20 72 65 74 75 72 6e 20 | 30 2c 20 27 72 61 6e 67 | return |0, 'rang|
|000010c0| 65 20 65 72 72 6f 72 3a | 20 70 65 72 63 65 6e 74 |e error:| percent|
|000010d0| 20 65 6c 69 74 65 20 6d | 75 73 74 20 62 65 20 62 | elite m|ust be b|
|000010e0| 65 74 77 65 65 6e 20 30 | 20 61 6e 64 20 31 2e 27 |etween 0| and 1.'|
|000010f0| 0d 20 20 20 20 20 20 20 | 20 20 69 66 20 6c 65 6e |. | if len|
|00001100| 28 73 65 6c 66 2e 72 68 | 79 74 68 6d 54 6f 4d 61 |(self.rh|ythmToMa|
|00001110| 74 63 68 29 20 3c 3d 20 | 32 3a 0d 20 20 20 20 20 |tch) <= |2:. |
|00001120| 20 20 20 20 20 20 20 72 | 65 74 75 72 6e 20 30 2c | r|eturn 0,|
|00001130| 20 27 72 68 79 74 68 6d | 20 6c 69 73 74 20 65 72 | 'rhythm| list er|
|00001140| 72 6f 72 3a 20 67 61 52 | 68 79 74 68 6d 20 72 65 |ror: gaR|hythm re|
|00001150| 71 75 69 72 65 73 20 61 | 20 72 68 79 74 68 6d 20 |quires a| rhythm |
|00001160| 6f 66 20 33 20 6f 72 20 | 6d 6f 72 65 20 64 75 72 |of 3 or |more dur|
|00001170| 61 74 69 6f 6e 73 2e 27 | 0d 20 20 20 20 20 20 20 |ations.'|. |
|00001180| 20 20 69 66 20 73 65 6c | 66 2e 67 65 6e 6f 6d 65 | if sel|f.genome|
|00001190| 20 3d 3d 20 2d 31 3a 0d | 20 20 20 20 20 20 20 20 | == -1:.| |
|000011a0| 20 20 20 20 72 65 74 75 | 72 6e 20 30 2c 20 27 67 | retu|rn 0, 'g|
|000011b0| 61 20 65 72 72 6f 72 3a | 20 62 61 64 20 76 61 6c |a error:| bad val|
|000011c0| 75 65 73 2e 27 0d 20 20 | 20 20 20 20 20 20 20 72 |ues.'. | r|
|000011d0| 65 74 75 72 6e 20 31 2c | 20 27 27 0d 20 20 20 20 |eturn 1,| ''. |
|000011e0| 20 20 65 6c 69 66 20 73 | 65 6c 66 2e 74 79 70 65 | elif s|elf.type|
|000011f0| 20 3d 3d 20 27 6c 6f 6f | 70 27 3a 0d 20 20 20 20 | == 'loo|p':. |
|00001200| 20 20 20 20 20 69 66 20 | 73 65 6c 66 2e 6c 65 6e | if |self.len|
|00001210| 67 74 68 20 3c 20 31 3a | 0d 20 20 20 20 20 20 20 |gth < 1:|. |
|00001220| 20 20 20 20 20 72 65 74 | 75 72 6e 20 30 2c 20 27 | ret|urn 0, '|
|00001230| 6c 69 73 74 20 65 72 72 | 6f 72 3a 20 74 68 65 72 |list err|or: ther|
|00001240| 65 20 6d 75 73 74 20 62 | 65 20 72 68 79 74 68 6d |e must b|e rhythm|
|00001250| 73 20 69 6e 20 74 68 69 | 73 20 6c 69 73 74 2e 27 |s in thi|s list.'|
|00001260| 0d 20 20 20 20 20 20 20 | 20 20 72 65 74 75 72 6e |. | return|
|00001270| 20 31 2c 20 27 27 0d 0d | 20 20 20 64 65 66 20 72 | 1, ''..| def r|
|00001280| 65 69 6e 69 74 28 73 65 | 6c 66 2c 20 62 65 61 74 |einit(se|lf, beat|
|00001290| 54 2c 20 74 79 70 65 5f | 61 72 67 73 29 3a 0d 20 |T, type_|args):. |
|000012a0| 20 20 20 20 20 73 65 6c | 66 2e 5f 5f 69 6e 69 74 | sel|f.__init|
|000012b0| 5f 5f 28 62 65 61 74 54 | 2c 20 74 79 70 65 5f 61 |__(beatT|, type_a|
|000012c0| 72 67 73 29 0d 20 20 20 | 20 20 20 6f 6b 2c 20 6d |rgs). | ok, m|
|000012d0| 73 67 20 3d 20 73 65 6c | 66 2e 63 68 65 63 6b 41 |sg = sel|f.checkA|
|000012e0| 72 67 73 28 29 0d 20 20 | 20 20 20 20 72 65 74 75 |rgs(). | retu|
|000012f0| 72 6e 20 6f 6b 2c 20 6d | 73 67 0d 0d 20 20 20 23 |rn ok, m|sg.. #|
|00001300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001330| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 7c |--------|-------||
|00001340| 7c 7c 7c 7c 7c 7c 7c 7c | 7c 7c 7c 2d 2d 0d 0d 20 |||||||||||||--.. |
|00001350| 20 20 64 65 66 20 73 65 | 74 44 65 66 61 75 6c 74 | def se|tDefault|
|00001360| 73 28 73 65 6c 66 29 3a | 0d 20 20 20 20 20 20 69 |s(self):|. i|
|00001370| 66 20 73 65 6c 66 2e 74 | 79 70 65 20 3d 3d 20 27 |f self.t|ype == '|
|00001380| 62 69 6e 61 72 79 41 63 | 63 65 6e 74 27 3a 0d 20 |binaryAc|cent':. |
|00001390| 20 20 20 20 20 20 20 20 | 70 61 73 73 0d 20 20 20 | |pass. |
|000013a0| 20 20 20 65 6c 69 66 20 | 73 65 6c 66 2e 74 79 70 | elif |self.typ|
|000013b0| 65 20 3d 3d 20 27 67 61 | 52 68 79 74 68 6d 27 3a |e == 'ga|Rhythm':|
|000013c0| 0d 20 20 20 20 20 20 20 | 20 20 73 65 6c 66 2e 63 |. | self.c|
|000013d0| 72 6f 73 73 6f 76 65 72 | 52 61 74 65 20 3d 20 2e |rossover|Rate = .|
|000013e0| 37 30 0d 20 20 20 20 20 | 20 20 20 20 73 65 6c 66 |70. | self|
|000013f0| 2e 6d 75 74 61 74 69 6f | 6e 52 61 74 65 20 3d 20 |.mutatio|nRate = |
|00001400| 2e 30 32 35 0d 20 20 20 | 20 20 20 20 20 20 73 65 |.025. | se|
|00001410| 6c 66 2e 70 65 72 63 65 | 6e 74 45 6c 69 74 65 20 |lf.perce|ntElite |
|00001420| 3d 20 2e 30 30 0d 20 20 | 20 20 20 20 65 6c 69 66 |= .00. | elif|
|00001430| 20 73 65 6c 66 2e 74 79 | 70 65 20 3d 3d 20 27 6c | self.ty|pe == 'l|
|00001440| 6f 6f 70 27 3a 0d 20 20 | 20 20 20 20 20 20 20 70 |oop':. | p|
|00001450| 61 73 73 0d 0d 20 20 20 | 64 65 66 20 72 68 79 74 |ass.. |def rhyt|
|00001460| 68 6d 54 6f 53 74 72 69 | 6e 67 28 73 65 6c 66 2c |hmToStri|ng(self,|
|00001470| 72 68 79 74 68 6d 69 63 | 43 65 6c 6c 29 3a 0d 20 |rhythmic|Cell):. |
|00001480| 20 20 20 20 20 69 66 20 | 6c 65 6e 28 72 68 79 74 | if |len(rhyt|
|00001490| 68 6d 69 63 43 65 6c 6c | 29 20 3d 3d 20 32 3a 0d |hmicCell|) == 2:.|
|000014a0| 20 20 20 20 20 20 20 20 | 20 63 65 6c 6c 53 74 72 | | cellStr|
|000014b0| 69 6e 67 20 3d 20 27 28 | 25 69 2c 25 69 2c 2b 29 |ing = '(|%i,%i,+)|
|000014c0| 27 20 25 20 28 72 68 79 | 74 68 6d 69 63 43 65 6c |' % (rhy|thmicCel|
|000014d0| 6c 5b 30 5d 2c 72 68 79 | 74 68 6d 69 63 43 65 6c |l[0],rhy|thmicCel|
|000014e0| 6c 5b 31 5d 29 0d 20 20 | 20 20 20 20 65 6c 69 66 |l[1]). | elif|
|000014f0| 20 6c 65 6e 28 72 68 79 | 74 68 6d 69 63 43 65 6c | len(rhy|thmicCel|
|00001500| 6c 29 20 3d 3d 20 33 3a | 0d 20 20 20 20 20 20 20 |l) == 3:|. |
|00001510| 20 20 69 66 20 72 68 79 | 74 68 6d 69 63 43 65 6c | if rhy|thmicCel|
|00001520| 6c 5b 32 5d 20 3d 3d 20 | 31 3a 0d 20 20 20 20 20 |l[2] == |1:. |
|00001530| 20 20 20 20 20 20 20 72 | 65 73 74 53 79 6d 62 6f | r|estSymbo|
|00001540| 6c 20 3d 20 27 2b 27 0d | 20 20 20 20 20 20 20 20 |l = '+'.| |
|00001550| 20 65 6c 73 65 3a 0d 20 | 20 20 20 20 20 20 20 20 | else:. | |
|00001560| 20 20 20 72 65 73 74 53 | 79 6d 62 6f 6c 20 3d 20 | restS|ymbol = |
|00001570| 27 6f 27 0d 20 20 20 20 | 20 20 20 20 20 63 65 6c |'o'. | cel|
|00001580| 6c 53 74 72 69 6e 67 20 | 3d 20 27 28 25 69 2c 25 |lString |= '(%i,%|
|00001590| 69 2c 25 73 29 27 20 25 | 20 28 72 68 79 74 68 6d |i,%s)' %| (rhythm|
|000015a0| 69 63 43 65 6c 6c 5b 30 | 5d 2c 72 68 79 74 68 6d |icCell[0|],rhythm|
|000015b0| 69 63 43 65 6c 6c 5b 31 | 5d 2c 72 65 73 74 53 79 |icCell[1|],restSy|
|000015c0| 6d 62 6f 6c 29 0d 20 20 | 20 20 20 20 72 65 74 75 |mbol). | retu|
|000015d0| 72 6e 20 63 65 6c 6c 53 | 74 72 69 6e 67 0d 0d 20 |rn cellS|tring.. |
|000015e0| 20 20 64 65 66 20 72 68 | 79 74 68 6d 4c 69 73 74 | def rh|ythmList|
|000015f0| 54 6f 53 74 72 69 6e 67 | 28 73 65 6c 66 2c 20 6c |ToString|(self, l|
|00001600| 69 73 74 29 3a 0d 20 20 | 20 20 20 20 72 74 68 6d |ist):. | rthm|
|00001610| 53 74 72 69 6e 67 20 3d | 20 27 27 0d 20 20 20 20 |String =| ''. |
|00001620| 20 20 66 6f 72 20 72 68 | 79 74 68 6d 69 63 43 65 | for rh|ythmicCe|
|00001630| 6c 6c 20 69 6e 20 6c 69 | 73 74 3a 0d 20 20 20 20 |ll in li|st:. |
|00001640| 20 20 20 20 20 63 65 6c | 6c 53 74 72 69 6e 67 20 | cel|lString |
|00001650| 3d 20 73 65 6c 66 2e 72 | 68 79 74 68 6d 54 6f 53 |= self.r|hythmToS|
|00001660| 74 72 69 6e 67 28 72 68 | 79 74 68 6d 69 63 43 65 |tring(rh|ythmicCe|
|00001670| 6c 6c 29 0d 20 20 20 20 | 20 20 20 20 20 72 74 68 |ll). | rth|
|00001680| 6d 53 74 72 69 6e 67 20 | 3d 20 72 74 68 6d 53 74 |mString |= rthmSt|
|00001690| 72 69 6e 67 20 2b 20 63 | 65 6c 6c 53 74 72 69 6e |ring + c|ellStrin|
|000016a0| 67 20 2b 20 27 20 27 0d | 20 20 20 20 20 20 72 74 |g + ' '.| rt|
|000016b0| 68 6d 53 74 72 69 6e 67 | 20 3d 20 72 74 68 6d 53 |hmString| = rthmS|
|000016c0| 74 72 69 6e 67 5b 3a 2d | 31 5d 20 23 20 63 68 6f |tring[:-|1] # cho|
|000016d0| 70 20 6f 66 66 20 6c 61 | 73 74 20 63 6f 6d 6d 61 |p off la|st comma|
|000016e0| 0d 20 20 20 20 20 20 72 | 65 74 75 72 6e 20 72 74 |. r|eturn rt|
|000016f0| 68 6d 53 74 72 69 6e 67 | 0d 0d 0d 20 20 20 64 65 |hmString|... de|
|00001700| 66 20 64 69 73 70 6c 61 | 79 5f 69 6d 61 67 65 28 |f displa|y_image(|
|00001710| 73 65 6c 66 2c 20 61 72 | 67 73 4f 6e 6c 79 3d 27 |self, ar|gsOnly='|
|00001720| 6f 66 66 27 29 3a 0d 20 | 20 20 20 20 20 69 66 20 |off'):. | if |
|00001730| 73 65 6c 66 2e 74 79 70 | 65 20 3d 3d 20 27 62 69 |self.typ|e == 'bi|
|00001740| 6e 61 72 79 41 63 63 65 | 6e 74 27 3a 0d 20 20 20 |naryAcce|nt':. |
|00001750| 20 20 20 20 20 20 6d 65 | 73 73 61 67 65 20 3d 20 | me|ssage = |
|00001760| 27 25 72 2c 20 28 25 73 | 29 5c 6e 27 20 25 20 28 |'%r, (%s|)\n' % (|
|00001770| 73 65 6c 66 2e 74 79 70 | 65 20 2c 20 27 25 73 2c |self.typ|e , '%s,|
|00001780| 25 73 27 20 25 20 28 73 | 65 6c 66 2e 72 68 79 74 |%s' % (s|elf.rhyt|
|00001790| 68 6d 54 6f 53 74 72 69 | 6e 67 28 73 65 6c 66 2e |hmToStri|ng(self.|
|000017a0| 61 72 67 73 5b 30 5d 5b | 30 5d 29 2c 20 73 65 6c |args[0][|0]), sel|
|000017b0| 66 2e 72 68 79 74 68 6d | 54 6f 53 74 72 69 6e 67 |f.rhythm|ToString|
|000017c0| 28 73 65 6c 66 2e 61 72 | 67 73 5b 30 5d 5b 31 5d |(self.ar|gs[0][1]|
|000017d0| 29 29 29 0d 20 20 20 20 | 20 20 20 20 20 69 66 20 |))). | if |
|000017e0| 61 72 67 73 4f 6e 6c 79 | 20 21 3d 20 27 6f 66 66 |argsOnly| != 'off|
|000017f0| 27 3a 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 72 |':. | r|
|00001800| 65 74 75 72 6e 20 6d 65 | 73 73 61 67 65 5b 3a 2d |eturn me|ssage[:-|
|00001810| 31 5d 20 23 20 63 68 6f | 70 20 6f 66 66 20 72 65 |1] # cho|p off re|
|00001820| 74 75 72 6e 20 63 61 72 | 72 69 61 67 65 0d 20 20 |turn car|riage. |
|00001830| 20 20 20 20 20 20 20 72 | 65 74 75 72 6e 20 6d 65 | r|eturn me|
|00001840| 73 73 61 67 65 0d 20 20 | 20 20 20 20 65 6c 69 66 |ssage. | elif|
|00001850| 20 73 65 6c 66 2e 74 79 | 70 65 20 3d 3d 20 27 67 | self.ty|pe == 'g|
|00001860| 61 52 68 79 74 68 6d 27 | 3a 0d 20 20 20 20 20 20 |aRhythm'|:. |
|00001870| 20 20 20 6d 65 73 73 61 | 67 65 20 3d 20 27 25 72 | messa|ge = '%r|
|00001880| 2c 20 28 25 73 29 2c 20 | 25 73 2c 20 25 73 2c 20 |, (%s), |%s, %s, |
|00001890| 25 73 5c 6e 27 20 25 20 | 28 73 65 6c 66 2e 74 79 |%s\n' % |(self.ty|
|000018a0| 70 65 20 2c 20 28 73 65 | 6c 66 2e 72 68 79 74 68 |pe , (se|lf.rhyth|
|000018b0| 6d 4c 69 73 74 54 6f 53 | 74 72 69 6e 67 28 73 65 |mListToS|tring(se|
|000018c0| 6c 66 2e 61 72 67 73 5b | 30 5d 29 29 2e 72 65 70 |lf.args[|0])).rep|
|000018d0| 6c 61 63 65 28 27 20 27 | 2c 27 2c 27 29 2c 20 73 |lace(' '|,','), s|
|000018e0| 65 6c 66 2e 63 72 6f 73 | 73 6f 76 65 72 52 61 74 |elf.cros|soverRat|
|000018f0| 65 2c 20 73 65 6c 66 2e | 6d 75 74 61 74 69 6f 6e |e, self.|mutation|
|00001900| 52 61 74 65 2c 20 73 65 | 6c 66 2e 70 65 72 63 65 |Rate, se|lf.perce|
|00001910| 6e 74 45 6c 69 74 65 29 | 0d 20 20 20 20 20 20 20 |ntElite)|. |
|00001920| 20 20 69 66 20 61 72 67 | 73 4f 6e 6c 79 20 21 3d | if arg|sOnly !=|
|00001930| 20 27 6f 66 66 27 3a 20 | 0d 20 20 20 20 20 20 20 | 'off': |. |
|00001940| 20 20 20 20 20 72 65 74 | 75 72 6e 20 6d 65 73 73 | ret|urn mess|
|00001950| 61 67 65 5b 3a 2d 31 5d | 0d 20 20 20 20 20 20 20 |age[:-1]|. |
|00001960| 20 20 66 6f 72 20 65 6e | 74 72 79 20 69 6e 20 73 | for en|try in s|
|00001970| 65 6c 66 2e 72 68 79 74 | 68 6d 43 79 63 4c 69 73 |elf.rhyt|hmCycLis|
|00001980| 74 41 3a 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |tA:. | |
|00001990| 6d 65 73 73 61 67 65 20 | 3d 20 6d 65 73 73 61 67 |message |= messag|
|000019a0| 65 20 2b 20 28 27 20 27 | 20 2a 32 30 29 20 2b 20 |e + (' '| *20) + |
|000019b0| 27 25 73 5c 6e 27 20 25 | 20 73 65 6c 66 2e 72 68 |'%s\n' %| self.rh|
|000019c0| 79 74 68 6d 4c 69 73 74 | 54 6f 53 74 72 69 6e 67 |ythmList|ToString|
|000019d0| 28 65 6e 74 72 79 29 0d | 20 20 20 20 20 20 20 20 |(entry).| |
|000019e0| 20 20 20 20 23 6d 65 73 | 73 61 67 65 20 3d 20 6d | #mes|sage = m|
|000019f0| 65 73 73 61 67 65 20 2b | 20 28 27 20 27 20 2a 32 |essage +| (' ' *2|
|00001a00| 30 29 20 2b 20 27 25 73 | 5c 6e 27 20 25 20 73 74 |0) + '%s|\n' % st|
|00001a10| 72 28 65 6e 74 72 79 29 | 2e 72 65 70 6c 61 63 65 |r(entry)|.replace|
|00001a20| 28 27 20 27 2c 27 27 29 | 20 0d 20 20 20 20 20 20 |(' ','')| . |
|00001a30| 20 20 20 72 65 74 75 72 | 6e 20 6d 65 73 73 61 67 | retur|n messag|
|00001a40| 65 0d 20 20 20 20 20 20 | 65 6c 69 66 20 73 65 6c |e. |elif sel|
|00001a50| 66 2e 74 79 70 65 20 3d | 3d 20 27 6c 6f 6f 70 27 |f.type =|= 'loop'|
|00001a60| 3a 0d 20 20 20 20 20 20 | 20 20 20 6d 65 73 73 61 |:. | messa|
|00001a70| 67 65 20 3d 20 27 25 72 | 2c 20 28 25 73 29 5c 6e |ge = '%r|, (%s)\n|
|00001a80| 27 20 25 20 28 73 65 6c | 66 2e 74 79 70 65 2c 20 |' % (sel|f.type, |
|00001a90| 28 73 65 6c 66 2e 72 68 | 79 74 68 6d 4c 69 73 74 |(self.rh|ythmList|
|00001aa0| 54 6f 53 74 72 69 6e 67 | 28 73 65 6c 66 2e 61 72 |ToString|(self.ar|
|00001ab0| 67 73 5b 30 5d 29 29 2e | 72 65 70 6c 61 63 65 28 |gs[0])).|replace(|
|00001ac0| 27 20 27 2c 27 2c 27 29 | 29 0d 20 20 20 20 20 20 |' ',',')|). |
|00001ad0| 20 20 20 69 66 20 61 72 | 67 73 4f 6e 6c 79 20 21 | if ar|gsOnly !|
|00001ae0| 3d 20 27 6f 66 66 27 3a | 20 0d 20 20 20 20 20 20 |= 'off':| . |
|00001af0| 20 20 20 20 20 20 72 65 | 74 75 72 6e 20 6d 65 73 | re|turn mes|
|00001b00| 73 61 67 65 5b 3a 2d 31 | 5d 0d 20 20 20 20 20 20 |sage[:-1|]. |
|00001b10| 20 20 20 72 65 74 75 72 | 6e 20 6d 65 73 73 61 67 | retur|n messag|
|00001b20| 65 0d 20 20 20 20 20 20 | 0d 20 20 20 23 2d 2d 2d |e. |. #---|
|00001b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 7c 7c 7c 7c |--------|----|||||
|00001b70| 7c 7c 7c 7c 7c 7c 7c 7c | 2d 2d 0d 20 20 20 23 20 ||||||||||--. # |
|00001b80| 61 72 67 73 20 68 65 72 | 65 20 61 72 65 20 6f 6e |args her|e are on|
|00001b90| 6c 79 20 74 68 6f 73 65 | 20 74 68 61 74 20 6e 65 |ly those| that ne|
|00001ba0| 65 64 20 74 6f 20 62 65 | 20 65 78 70 6f 73 65 64 |ed to be| exposed|
|00001bb0| 20 74 6f 20 54 4d 73 63 | 6f 72 65 28 29 20 6d 65 | to TMsc|ore() me|
|00001bc0| 74 68 6f 64 20 20 0d 20 | 20 20 64 65 66 20 62 69 |thod . | def bi|
|00001bd0| 6e 61 72 79 41 63 63 65 | 6e 74 28 73 65 6c 66 2c |naryAcce|nt(self,|
|00001be0| 20 61 72 67 73 3d 27 27 | 29 3a 0d 09 09 69 66 20 | args=''|):...if |
|00001bf0| 61 72 67 73 3d 3d 31 3a | 20 23 20 69 66 20 72 68 |args==1:| # if rh|
|00001c00| 79 68 74 6d 20 69 73 20 | 66 69 72 73 74 20 6e 6f |yhtm is |first no|
|00001c10| 74 65 20 69 6e 20 67 72 | 6f 75 70 0d 09 09 09 74 |te in gr|oup....t|
|00001c20| 5f 6f 76 65 72 6c 61 70 | 20 3d 20 73 65 6c 66 2e |_overlap| = self.|
|00001c30| 64 75 72 61 74 69 6f 6e | 5f 62 20 2d 20 73 65 6c |duration|_b - sel|
|00001c40| 66 2e 72 68 79 74 68 6d | 5f 62 0d 09 09 09 72 68 |f.rhythm|_b....rh|
|00001c50| 79 74 68 6d 20 3d 20 73 | 65 6c 66 2e 72 68 79 74 |ythm = s|elf.rhyt|
|00001c60| 68 6d 5f 62 0d 09 09 65 | 6c 73 65 3a 0d 09 09 09 |hm_b...e|lse:....|
|00001c70| 74 5f 6f 76 65 72 6c 61 | 70 20 3d 20 73 65 6c 66 |t_overla|p = self|
|00001c80| 2e 64 75 72 61 74 69 6f | 6e 5f 61 20 2d 20 73 65 |.duratio|n_a - se|
|00001c90| 6c 66 2e 72 68 79 74 68 | 6d 5f 61 0d 09 09 09 72 |lf.rhyth|m_a....r|
|00001ca0| 68 79 74 68 6d 20 3d 20 | 73 65 6c 66 2e 72 68 79 |hythm = |self.rhy|
|00001cb0| 74 68 6d 5f 61 0d 09 09 | 72 65 74 75 72 6e 20 72 |thm_a...|return r|
|00001cc0| 68 79 74 68 6d 2c 20 74 | 5f 6f 76 65 72 6c 61 70 |hythm, t|_overlap|
|00001cd0| 0d 0d 20 20 20 64 65 66 | 20 67 61 52 68 79 74 68 |.. def| gaRhyth|
|00001ce0| 6d 28 73 65 6c 66 2c 20 | 61 72 67 73 3d 27 27 29 |m(self, |args='')|
|00001cf0| 3a 0d 20 20 20 20 20 20 | 23 20 6f 6e 6c 79 20 74 |:. |# only t|
|00001d00| 61 6b 69 6e 67 20 66 69 | 72 73 74 20 63 79 63 6c |aking fi|rst cycl|
|00001d10| 65 3f 0d 20 20 20 20 20 | 20 72 68 79 74 68 6d 43 |e?. | rhythmC|
|00001d20| 79 63 20 3d 20 73 65 6c | 66 2e 72 68 79 74 68 6d |yc = sel|f.rhythm|
|00001d30| 43 79 63 4c 69 73 74 41 | 5b 73 65 6c 66 2e 63 79 |CycListA|[self.cy|
|00001d40| 63 49 6e 64 65 78 5d 20 | 20 20 20 20 20 0d 20 20 |cIndex] | . |
|00001d50| 20 20 20 20 23 20 74 68 | 69 73 20 6e 65 65 64 73 | # th|is needs|
|00001d60| 20 74 6f 20 62 65 20 63 | 79 63 6c 69 63 61 6c 0d | to be c|yclical.|
|00001d70| 20 20 20 20 20 20 72 68 | 79 74 68 6d 54 75 70 6c | rh|ythmTupl|
|00001d80| 65 20 3d 20 72 68 79 74 | 68 6d 43 79 63 5b 73 65 |e = rhyt|hmCyc[se|
|00001d90| 6c 66 2e 67 65 6e 65 49 | 6e 64 65 78 5d 0d 20 20 |lf.geneI|ndex]. |
|00001da0| 20 20 20 20 73 65 6c 66 | 2e 67 65 6e 65 49 6e 64 | self|.geneInd|
|00001db0| 65 78 20 3d 20 73 65 6c | 66 2e 67 65 6e 65 49 6e |ex = sel|f.geneIn|
|00001dc0| 64 65 78 20 2b 20 31 0d | 20 20 20 20 20 20 69 66 |dex + 1.| if|
|00001dd0| 20 73 65 6c 66 2e 67 65 | 6e 65 49 6e 64 65 78 20 | self.ge|neIndex |
|00001de0| 3d 3d 20 6c 65 6e 28 72 | 68 79 74 68 6d 43 79 63 |== len(r|hythmCyc|
|00001df0| 29 3a 0d 20 20 20 20 20 | 20 20 20 20 73 65 6c 66 |):. | self|
|00001e00| 2e 67 65 6e 65 49 6e 64 | 65 78 20 3d 20 30 0d 20 |.geneInd|ex = 0. |
|00001e10| 20 20 20 20 20 20 20 20 | 73 65 6c 66 2e 63 79 63 | |self.cyc|
|00001e20| 49 6e 64 65 78 20 20 3d | 20 73 65 6c 66 2e 63 79 |Index =| self.cy|
|00001e30| 63 49 6e 64 65 78 20 2b | 20 31 0d 20 20 20 20 20 |cIndex +| 1. |
|00001e40| 20 20 20 20 69 66 20 73 | 65 6c 66 2e 63 79 63 49 | if s|elf.cycI|
|00001e50| 6e 64 65 78 20 3d 3d 20 | 6c 65 6e 28 73 65 6c 66 |ndex == |len(self|
|00001e60| 2e 72 68 79 74 68 6d 43 | 79 63 4c 69 73 74 41 29 |.rhythmC|ycListA)|
|00001e70| 3a 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 73 65 |:. | se|
|00001e80| 6c 66 2e 63 79 63 49 6e | 64 65 78 20 3d 20 30 0d |lf.cycIn|dex = 0.|
|00001e90| 0d 20 20 20 20 20 20 72 | 68 79 74 68 6d 20 20 20 |. r|hythm |
|00001ea0| 20 3d 20 28 73 65 6c 66 | 2e 62 65 61 74 54 20 2f | = (self|.beatT /|
|00001eb0| 20 28 72 68 79 74 68 6d | 54 75 70 6c 65 5b 30 5d | (rhythm|Tuple[0]|
|00001ec0| 2b 30 2e 30 29 29 20 2a | 20 72 68 79 74 68 6d 54 |+0.0)) *| rhythmT|
|00001ed0| 75 70 6c 65 5b 31 5d 0d | 20 20 20 20 20 20 64 75 |uple[1].| du|
|00001ee0| 72 61 74 69 6f 6e 20 20 | 3d 20 72 68 79 74 68 6d |ration |= rhythm|
|00001ef0| 20 2b 20 28 72 68 79 74 | 68 6d 20 2a 20 2e 30 35 | + (rhyt|hm * .05|
|00001f00| 29 0d 20 20 20 20 20 20 | 74 5f 6f 76 65 72 6c 61 |). |t_overla|
|00001f10| 70 20 3d 20 64 75 72 61 | 74 69 6f 6e 20 2d 20 72 |p = dura|tion - r|
|00001f20| 68 79 74 68 6d 0d 20 20 | 20 20 20 20 72 65 74 75 |hythm. | retu|
|00001f30| 72 6e 20 72 68 79 74 68 | 6d 2c 20 74 5f 6f 76 65 |rn rhyth|m, t_ove|
|00001f40| 72 6c 61 70 2c 20 72 68 | 79 74 68 6d 54 75 70 6c |rlap, rh|ythmTupl|
|00001f50| 65 5b 32 5d 20 20 23 20 | 6c 61 73 74 20 76 61 6c |e[2] # |last val|
|00001f60| 75 65 20 69 73 20 6e 6f | 74 65 2f 72 65 73 74 20 |ue is no|te/rest |
|00001f70| 73 74 61 74 75 73 0d 0d | 0d 20 20 20 64 65 66 20 |status..|. def |
|00001f80| 6c 6f 6f 70 28 73 65 6c | 66 29 3a 0d 20 20 20 20 |loop(sel|f):. |
|00001f90| 20 20 72 68 79 74 68 6d | 54 75 70 6c 65 20 3d 20 | rhythm|Tuple = |
|00001fa0| 73 65 6c 66 2e 72 68 79 | 74 68 6d 4c 69 73 74 5b |self.rhy|thmList[|
|00001fb0| 73 65 6c 66 2e 70 6f 73 | 69 74 69 6f 6e 5d 0d 20 |self.pos|ition]. |
|00001fc0| 20 20 20 20 20 0d 20 20 | 20 20 20 20 72 68 79 74 | . | rhyt|
|00001fd0| 68 6d 20 20 20 20 3d 20 | 28 73 65 6c 66 2e 62 65 |hm = |(self.be|
|00001fe0| 61 74 54 20 2f 20 28 72 | 68 79 74 68 6d 54 75 70 |atT / (r|hythmTup|
|00001ff0| 6c 65 5b 30 5d 2b 30 2e | 30 29 29 20 2a 20 72 68 |le[0]+0.|0)) * rh|
|00002000| 79 74 68 6d 54 75 70 6c | 65 5b 31 5d 0d 20 20 20 |ythmTupl|e[1]. |
|00002010| 20 20 20 64 75 72 61 74 | 69 6f 6e 20 20 3d 20 72 | durat|ion = r|
|00002020| 68 79 74 68 6d 20 2b 20 | 28 72 68 79 74 68 6d 20 |hythm + |(rhythm |
|00002030| 2a 20 2e 30 35 29 0d 20 | 20 20 20 20 20 74 5f 6f |* .05). | t_o|
|00002040| 76 65 72 6c 61 70 20 3d | 20 64 75 72 61 74 69 6f |verlap =| duratio|
|00002050| 6e 20 2d 20 72 68 79 74 | 68 6d 0d 0d 20 20 20 20 |n - rhyt|hm.. |
|00002060| 20 20 73 65 6c 66 2e 70 | 6f 73 69 74 69 6f 6e 20 | self.p|osition |
|00002070| 3d 20 73 65 6c 66 2e 70 | 6f 73 69 74 69 6f 6e 20 |= self.p|osition |
|00002080| 2b 20 31 0d 20 20 20 20 | 20 20 69 66 20 73 65 6c |+ 1. | if sel|
|00002090| 66 2e 70 6f 73 69 74 69 | 6f 6e 20 3d 3d 20 73 65 |f.positi|on == se|
|000020a0| 6c 66 2e 6c 65 6e 67 74 | 68 3a 0d 20 20 20 20 20 |lf.lengt|h:. |
|000020b0| 20 20 20 20 73 65 6c 66 | 2e 70 6f 73 69 74 69 6f | self|.positio|
|000020c0| 6e 20 3d 20 30 0d 20 20 | 20 20 20 20 72 65 74 75 |n = 0. | retu|
|000020d0| 72 6e 20 72 68 79 74 68 | 6d 2c 20 74 5f 6f 76 65 |rn rhyth|m, t_ove|
|000020e0| 72 6c 61 70 2c 20 72 68 | 79 74 68 6d 54 75 70 6c |rlap, rh|ythmTupl|
|000020f0| 65 5b 32 5d 0d 0d 0d 0d | 0d 0d 0d 0d 0d 00 00 00 |e[2]....|........|
|00002100| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00002110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000021a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000021b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000021c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000021d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000021e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000021f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002200| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002210| 00 00 00 00 00 00 00 00 | 00 1c 00 1e ff ff 00 00 |........|........|
|00002220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+